Плохо! Плохо!:  0
Показано с 1 по 3 из 3

Тема: [MZ, MV] DKR_TintStartScreen

  1. #1
    Бывалый Аватар для Darchan Kaen
    Информация о пользователе
    Регистрация
    17.06.2013
    Адрес
    Одесса
    Сообщений
    851
    Записей в дневнике
    3
    Репутация: 47 Добавить или отнять репутацию

    По умолчанию [MZ, MV] DKR_TintStartScreen

    Название плагина: DKR_TintStartScreen

    Автор: DarchanKaen

    Версия: 1.0.0 для MZMV*)

    Дата выхода:
    1.0.0 - 12.07.2022

    Описание плагина:
    Плагин позволяет установить цвет экрана, отображаемый после запуска игры. Без пауз!

    Использование плагина:
    Подключите и настройте параметры.
    В целом, повторяется логика настройки команды мейкера "Оттенок экрана" с тем лишь отличием, что тут скорость окраса идет первой.

    Параметры плагина:
    Скорость окраса экрана и цвета RGB (Красный, Зеленый, Синий) и D (Серый).
    Как в команде "Оттенок экрана" мейкера.
    Команды(в эвенте команда "Скрипт"):
    Отсутствуют.

    Нюансы:
    Плагин в первую очередь для MZ.
    * На MV он тоже работает, но долго я его там не тестировал.
    Плагин не затрагивает главное меню - он меняет цвет игрового экрана!

    Пример использования:
    1-1) Если вы хотите, чтоб после нажатия "Новая игра" экран был чёрного цвета, оставьте дефолтные настройки плагина (1, -255, -255, -255, 0).
    1-2) Или же, если вы хотите, чтоб после нажатия "Новая игра" экран плавно за 15 кадров становился максимально синим, в параметрах сделайте
    такие значения: 15, 0, 0, 255, 0.
    2) Когда в процессе игры нужно будет как-то изменить цвет экрана, используйте стандартную команду мейкера "Оттенок экрана" (если нужно "просветлить", то там же есть кнопка "Норма" / "Стандарт").

    Код:

    Спойлер Версия 1.0.0:
    Код:
    var Imported = Imported || {};
    Imported.DKR_TintStartScreen = true;
    
    var DKR = DKR || {};          
    DKR.TintStartScreen = DKR.TintStartScreen || {}; 
    DKR.TintStartScreen.version = 1.0;
    DKR.TintStartScreen.parameters = PluginManager.parameters('DKR_TintStartScreen');
    
    //-----------------------------------------------------------------------------
    /*:
     * @plugindesc (v.1.0.0) Плагин позволяет установить цвет экрана, отображаемый после запуска игры. Без пауз!
     * 
     * @target MZ
     * @author DarchanKaen
     *
     * @help
     *   DKR TintStartScreen
     * ----------------------------------------------------------------------------
     * ---Общая информация:
     * Плагин позволяет установить цвет экрана, 
     * отображаемый после запуска игры. Без пауз!
     * Со старта плагин настроен на оттенок экрана - Чёрный.
     * Для нормализации цвета экрана испольуете команду мейкера 
     * "Оттенок экрана"->"Норма"!
     *
     * ---Параметры плагина:
     * Скорость окраса экрана и цвета RGB (Красный, Зеленый, Синий) и D (Серый).
     * Как в команде "Оттенок экрана" мейкера.
     * ---Команды(в эвенте команда "Скрипт"):
     * Отсутствуют.
     * ----------------------------------------------------------------------------
     * @param fadeScreenSpeed
     * @type Number
     * @desc Скорость оттенка экрана, чем меньше значение - тем быстрее окрас экрана.
     * @default 1
     *
     * @param fadeScreenR
     * @type Number
     * @desc Значение Красного цвета (от -255 до 255).
     * @default -255
     *
     * @param fadeScreenG
     * @type Number
     * @desc Значение Зеленого цвета (от -255 до 255).
     * @default -255
     *
     * @param fadeScreenB
     * @type Number
     * @desc Значение Синего цвета (от -255 до 255).
     * @default -255
     *
     * @param fadeScreenD
     * @type Number
     * @desc Значение Серого цвета (от 0 до 255).
     * @default 0
     *
     */
     
    (() => {
    	
    	
    //----DATA: BEGIN
    	const DEFAULT_FSS = 1;
    	const MAX_FSS = 999;
    	const DEFAULT_RGB = -255;
    	const DEFAULT_D = 0;
    	const MAX_RGBD = 255;
    	
    	let fadeScreenSpeed = Number(DKR.TintStartScreen.parameters['fadeScreenSpeed']);	
    	let fadeScreenR = Number(DKR.TintStartScreen.parameters['fadeScreenR']);
    	let fadeScreenG = Number(DKR.TintStartScreen.parameters['fadeScreenG']);	
    	let fadeScreenB = Number(DKR.TintStartScreen.parameters['fadeScreenB']);	
    	let fadeScreenD = Number(DKR.TintStartScreen.parameters['fadeScreenD']);		
    
    //----DATA: END
    
    
    //----LOGIC: BEGIN
    	const getNormalizedFadeParams = () => {
    		if(fadeScreenSpeed < DEFAULT_FSS || fadeScreenSpeed >= MAX_FSS){
    			fadeScreenSpeed = DEFAULT_FSS;
    		}
    		if(fadeScreenR < DEFAULT_RGB || fadeScreenR  >= MAX_RGBD){
    			fadeScreenR = DEFAULT_RGB;
    		}
    		if(fadeScreenG < DEFAULT_RGB || fadeScreenG  >= MAX_RGBD){
    			fadeScreenG = DEFAULT_RGB;
    		}
    		if(fadeScreenB < DEFAULT_RGB || fadeScreenB  >= MAX_RGBD){
    			fadeScreenB = DEFAULT_RGB;
    		}
    		if(fadeScreenD < DEFAULT_D || fadeScreenD  >= MAX_RGBD){
    			fadeScreenD = DEFAULT_D;
    		}
    		
    		fadeParamsList = [[fadeScreenR, fadeScreenG, fadeScreenB, fadeScreenD], fadeScreenSpeed];
    		return fadeParamsList;
    	}
    	
    //----LOGIC: END
    
    
    //----CORE-MODIFY: BEGIN
        let Game_Map_Prototype_init_DKREdit = Game_Map.prototype.initialize;
    
    	Game_Map.prototype.initialize = function() {
    		Game_Map_Prototype_init_DKREdit.call(this);
    
    		const normalFadeParamsList = getNormalizedFadeParams();
    		$gameScreen.startTint(normalFadeParamsList[0], normalFadeParamsList[1]);
    	};
    	
    //----CORE-MODIFY: END
    
    
    })();


    Загрузка:
    Спойлер Версия 1.0.0:


    Условия поставки плагина:
    Поставляется AS-IS.
    Вся ответственность при использовании - на Пользователе!
    !

    Совместимость:
    Плагин чуть модифицирует логику инициализации карт.
    Хоть в коде и используется подход, повышающий совместимость, но все же совместимость с другими плагинами, как-то затрагивающими инициализацию карт,
    не гарантируется.

    Спойлер Лирическое отступление:
    Может я криворукий, но у меня всегда возникала пауза перед командой затемнения экрана - и в Параллельном, и а Автоматическом запуске (и в MV, и в MZ).
    Если нужен темный экран, можно конечно начинать с пустой карты или ставить картинку...но это рано или поздно утомляет.
    И я вспомнил, что есть дефолтная возможность "невидимого игрока со старта"...Почему же Кадокава/Дегика не дали нам возможность еще и экран настроить?
    Короче, quality of life, который мы заслужили.

    Скорее всего существуют разные вариации этого плагина, но я криво гуглил и не нашел.
    Ну, будет еще одна реализация.

    Эх, и это уже второй случай, когда у меня от задумки игры, в итоге, остается только плагин.
    Может кому-то поможет.
    Последний раз редактировалось Darchan Kaen; 12.07.2022 в 21:40.

  2. #2
    Создатель Аватар для Рольф
    Информация о пользователе
    Регистрация
    14.04.2008
    Адрес
    Южно- Сахалинск/Пенза
    Сообщений
    10,143
    Записей в дневнике
    2
    Репутация: 108 Добавить или отнять репутацию

    По умолчанию

    Опять нет скринов. Что же вы так не любите скрины. Почему то у зарубежных программистов везде есть.

  3. #3
    Бывалый Аватар для Darchan Kaen
    Информация о пользователе
    Регистрация
    17.06.2013
    Адрес
    Одесса
    Сообщений
    851
    Записей в дневнике
    3
    Репутация: 47 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Рольф Посмотреть сообщение
    Опять нет скринов. Что же вы так не любите скрины. Почему то у зарубежных программистов везде есть.
    Я не знаю, что тут можно заскринить - чёрный/цветной экран?
    А видео смотреть дольше, чем попробовать плагин.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
[MZ, MV] DKR_TintStartScreen